﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SourceControlEssentials
{
    /// <summary>
    /// Defines interface for student's implementations
    /// </summary>
    public interface IStudent
    {
        /// <summary>
        /// Student id
        /// </summary>
        /// <returns></returns>
        int Id();
        /// <summary>
        /// Returns student's last name
        /// </summary>
        /// <returns></returns>
        string GetLastName();
        /// <summary>
        /// Returns stedent's first name
        /// </summary>
        /// <returns></returns>
        string GetFirstName();
        /// <summary>
        /// Returns student's group number
        /// </summary>
        /// <returns></returns>
        int GetGroup();
        /// <summary>
        /// Returns the name of the method implemntation
        /// </summary>
        /// <returns></returns>
        string MethodName();
        /// <summary>
        /// Converts input string into output according to the strategy implementation
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        string ExecuteStrategy(string value);
    }
}
